package magazijn;
/**
 * Write a description of class test here.
 * 
 * @author (Joep, Jochem, Johannes, Daniel) 
 * @version (v0.1)
 */

import java.util.*;
import java.sql.*;
import java.io.*;


public class Subcategorie
{
    private String subcategorie;
    private int ID, categorie;
    public Subcategorie(int ID, String subcategorie, int categorie)
    {
        this.ID = ID;
        this.subcategorie   = subcategorie;
        this.categorie      = categorie;
        
        insertSubcategorieData(ID, subcategorie, categorie);
    }

    public Subcategorie(int ID){
        this.ID = ID;
        getSubcategorieData();
    }

    /**================== GETTER =================**/  
    
    public String getSubcategorieNaam()
    {
        return subcategorie;
    }
    
    public int getSubcategorieCategorie()
    {
        return categorie;
    }
    
    public int getSubcatID(){
        return ID;
    }
    
    /**================== SETTER =================**/
    public void setSubcategorieNaam(String subcategorieNaam)
    {
        subcategorie = subcategorieNaam;
        setSubcategorieData();
    }
    public void setSubcategorieCategorie(int categorieNr)
    {
        categorie = categorieNr;
        setSubcategorieData();
    }

    /**============== PRINT SUBCATEGORIE =============== **/
    
    public void printSubcategorie(){
        System.out.println(toString() +"\n");
    }
    
    public String toString(){
        String s = String.format("%-5d %-20s %-5d", ID, subcategorie, categorie);
        return s;
    }
    
    public void getSubcategorieData()
    {
        try{
            ResultSet rs = Database.executeSQLStatement("SELECT * FROM subcategorie where ID="+ID); // Selecteer alles van de tabel scores order op aantal en haal 10 rijen uit de database
            while (rs.next ())
            {
                ID  = rs.getInt("ID");
                subcategorie  = rs.getString("subcategorieNaam");
                categorie = rs.getInt("categorie");
            }
            //System.out.println("============================================================================================================================================================================"); 
            
            //System.out.println("ID: "+ID+", Subcategorie: "+subcategorie+", Categorie: "+categorie);
            // stelVraag("Druk op een toets om naar het hoofdmenu te gaan");     
            rs.close();                   
        }
        catch(Exception e)
        { 
            e.printStackTrace();
        }
    }    
    
    public void insertSubcategorieData(int ID, String subcategorie, int categorie)
    {
        try{
            String sql = ("INSERT into subcategorie set subcategorieNaam= '" + subcategorie + "', categorie='" + categorie+"'");
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("De gegevens zijn niet gewijzigd in de db");
            e.printStackTrace();
        }
    }   
  
    public void setSubcategorieData()
    {
        try{
            String sql = ("UPDATE subcategorie set subcategorieNaam= '" + subcategorie + "', categorie='" + categorie+"' WHERE ID="+ID);
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("De gegevens zijn niet gewijzigd in de db");
            e.printStackTrace();
        }
    }
    
    public void delSubcategorieData(int ID)
    {
         try{
            String sql = ("DELETE from subcategorie WHERE ID='"+ ID + "'");
            Database.executeUpdateStatement( sql );
        }
        catch (Exception e){
            System.out.println("De subcategorie is niet verwijderd");
            e.printStackTrace();
        }
    }        
}
